package com.heima.reflect;

/**
 * @Author: Ethan Yankang
 * @Program: 面试必会代码
 * @Date: 2024-08-31 10:26
 **/
public class GetClass {
    public static void main(String[] args) {
        /*
         * @description 第一种获取Class类方式————实例.getClass()
         */

        Student student1 = new Student();
        Class studentClass1 = student1.getClass();
        System.out.println("studentClass1 = " + studentClass1);
        /*
         * @description 第二种获取Class实例方式————类.class
         */
        Class studentClass2 = Student.class;
        System.out.println("studentClass2 = " + studentClass2);
        System.out.println(studentClass1==studentClass2);

        /*
         * @description 第三种获取Class实例的方式————类路径
         * 注意
         * 1.这里必须包含最完整的类路径，包名.类名（注意是在java源代码目录下的包名）
         * 2.这里是类名，不能加.java后缀。
         */
        try {
            Class studentClass3 = Class.forName("com.heima.reflect.Student");//注意这里从Java源代码层级下来的。也就是com.heima.reflect.Student
            System.out.println("studentClass3 = " + studentClass3);
            System.out.println(studentClass1==studentClass3);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }


    }
}
